Binary translation is a technology in which original code is translated into target code to provide instruction set architecture (ISA) compatibility (e.g., the original code may not be able to run directly on the hardware) or improved performance (e.g., the original code is not optimal for the target hardware) or improved security (e.g., defense against return-oriented programming (ROP) attacks).